1. Field of the Invention
The present invention relates to a disk drive unit used mainly as an auxiliary storage device of an information processing system and an error recovery procedure for it, and, more particularly, to a disk drive unit for increasing response speed when reset is requested from the information processing system and an error recovery procedure for it.
2. Background
A fixed disk drive, which is used as an auxiliary storage device of an information processing system, is typically provided with a cache memory for temporarily storing data supplied from the information processing system, and a controller for performing cache control or the like to improve access speed.
When data to be written (write data) is supplied from the information processing system, the controller holds the supplied write data in the cache memory, and releases the information processing system from write processing. Concurrently, the controller controls a writing system such that the write data held in the cache memory is sequentially written in a magnetic disk. Furthermore, in parallel to these operations, the controller instructs a reading system to read from the magnetic disk of data which is expected to be read requested by the information processing system, and holds the read-out data in the cache memory. Then, when the information processing system issues a read request, if the data subject to read is held in the cache memory, it is supplied to the information processing system. With such cache control, apparent access speed is improved for the magnetic disk drive.
When a write is performed from the cache memory to the magnetic disk, the controller instructs reading of the written data, monitors whether or not the write is normally performed, and, if a write error occurs, performs error recovery procedure (ERP).
The ERP repeats the write several times while changing the write parameters. If the write is successful after this, the ERP is terminated. If the write error cannot be eliminated even after repeating the write in a predetermined number of times or more, the region (sector) in which the write is performed is determined to be defective, registered in a reassignment table, and assigned with a spare sector which is an alternate to the sector in question. Thereafter, when there is a write/read request to the defective sector, write/read is performed to the assigned spare sector.
Recently, the occasions when the entire system is reset have increased in installing or restarting an operating system (hereinafter simply called "OS") or an application software. In such resetting, after all data held in the cache memory are written to the magnetic disk, the controller notifies the OS of reset ready, and, then the OS resets the system. For resetting by the OS, an upper limit of processing time is established. If no reset ready notification is issued from the fixed disk drive during this time, it causes a timeout, which is determined to be an error.
On the other hand, as the cache technology is recently advanced, it is not rare that a cache memory with large capacity holds as much as several hundred sectors of data to be written in random sectors. In resetting as described above, a reset ready cannot be notified until all such data are written in a magnetic disk. In addition, when such much data is written in the random regions, there may arise a case where write fails in a plurality of sectors, and the ERP should be performed in a number of times. Furthermore, if the write condition is poor due to deterioration of a recording medium or head characteristics by aging, a power supply, or vibration, it is expected that write failure frequently occurs. In such case, a long period of time is required until all ERP complete, and the reset ready notification is significantly retarded, leading to timeout of the OS.
Therefore, the object of the present invention is to reduce processing time for ERP in resetting, thereby shortening response time to the reset.